package com.zmn.mcc.persistence.interfaces.role;


import com.zmn.mcc.common.dto.role.McRoleChangeLogQuery;
import com.zmn.mcc.model.entity.role.McRoleChangeLog;

import java.util.List;

/**
 * @author: xuyanghong
 * @since: 2022-07-18
 * description:
 */

public interface RoleChangeLogDao {

    /**
     * 根据主键查询
     *
     * @param id
     * @return
     */
    McRoleChangeLog findByKey(Long id);

    /**
     * 分页查询
     *
     * @param query
     * @return
     */
    List<McRoleChangeLog> listPageByQuery(McRoleChangeLogQuery query);

    /**
     * 条件查询
     *
     * @param query
     * @return
     */
    List<McRoleChangeLog> listByQuery(McRoleChangeLogQuery query);


    /**
     * 总条数
     *
     * @param query
     * @return
     */
    Integer countByQuery(McRoleChangeLogQuery query);

    /**
     * 新增
     *
     * @param record
     * @return
     */
    Integer insert(McRoleChangeLog record);

    /**
     * 修改
     *
     * @param record
     * @return
     */
    Integer updateByKey(McRoleChangeLog record);


}